/**
 * @addtogroup brd_led
 * brd_led
 * @{
 */
/**
 * @file brd_led.h
 * @brief LED板级层
 * @par 修改日志
 * <table>
 * <tr><th>Date <th>Version <th>Author <th>Description
 * <tr><td>2020-09-30 <td>1.0 <td>软件工程院 <td>创建初始版本
 * @par 示例
 * @code
 * 创建一个设备. 
   Bool status;

   if (Brd_LedGetStatus(0, &status) && !status)
      Brd_LedSetOn(0, True);
   
 * @endcode 
 * @copyright 杭州鸿泉物联网技术股份有限公司
 */

#ifndef _BRD_LED_H_
#define _BRD_LED_H_

#include <ofc_types.h>

#ifdef __linux
#pragma GCC visibility push(default)
#endif 

#ifdef __cplusplus
extern "C" {
#endif

/**
 * 获取指定的LED当前状态是点亮还是熄灭
 * @param id: LED标识 参见[brd_def](@ref Brd_TLedIdTag)
 * @param status: 状态指针, True表示已点亮, False表示已熄灭
 * @return 当返回值 >= 0 时, 表示获取成功 \n
 *         当返回值 < 0 时, 表示获取失败, 参见[brd_def](@ref Brd_TErrorCodeTag)
 */
Int32 Brd_LedGetStatus(Int32 id, Bool *status);

/**
 * 点亮或熄灭LED灯
 * @param id: LED标识, 参加[]
 * @param value: True表示点亮, False表示熄灭
 * @return 当返回值 >= 0 时, 表示设置成功 \n
 *         当返回值 < 0 时, 表示设置失败, 参见[brd_def](@ref Brd_TErrorCodeTag)
 */
Int32 Brd_LedSetOn(Int32 id, Bool value);

#ifdef __cplusplus
}  ///< extern "C"
#endif

#ifdef __linux
#pragma GCC visibility pop
#endif 

#endif // _BRD_LED_H_
/**
 * @} 
 */
